/* Linus H, 3B, pjav1409 */

package pjav1409.oop.k2_12.exempel;

/**
 *
 * @author Linus
 */
public class Point {
    //instansvariabler
    public int x;
    public int y;

    //konstruktorer
    public Point(){
        this(0, 0);
    }
    public Point(Point p){
        this(p.x, p.y);
    }
    public Point(int x, int y){
        this.x = x;
        this.y = y;
    }

    //metoder
    public void setLocation(Point p){
        this.setLocation(p.x, p.y);
    }
    public void setLocation(int x, int y){
        this.move(x, y);
    }

    public void move(int x, int y){
        this.x = x;
        this.y = y;
    }

    public void translate(int dx, int dy){
        this.x += dx;
        this.y += dy;
    }

    @Override
    public boolean equals(Object obj){
        //Testa om obj är av klassen point
        if (!(obj instanceof Point)){
            //Returnera false om det inte är av point
            return false;
        }

        //typecasta obj till Point
        Point p = (Point) obj;

        //Testa om det har samma kordinater
        if (p.x == this.x && p.y == this.y){
            return true;
        }
        else {
            return false;
        }
    }



}
